<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //错误的类型
        /* 
        Error：所有错误的父类型
        ReferenceError：引用的变量不存在
        TypeError:数据类型不正确的错误
        RangeError：数据值不在允许的范围内
        SyntaxError:语法错误
   
        2.错误处理
           捕获错误：try...catch
           抛出错误：throw error
       
       3.错误对象
            messag属性：错误的相关属性
            stack属性：函数调用栈记录信息
         */


        //捕获错误
        // try {                //这里面写可能发生的错误
        //     console.log(a);      
        // } catch (error) {
        //     console.log(error);
        //     console.log(error.message);
        //     //如果try中出现的错误，携带错误对象来到catch中
        // }
        // console.log(1);

        //捕获自己抛出错误
        function demo() {
            //获取当前时间的时间戳
            const time = Date.now()
            //若是奇数正常执行，若是偶数抛出异常
            if (time % 2 === 1) {
                console.log('奇数，逻辑正常');
            } else {
                console.log('偶数不行');
                throw new Error('偶数不行')  //抛出异常，后面的代码任仍然可以执行
            }
        }


    </script>
</body>

</html>